LINE에서 B612 Android 개발을 담당하고 있습니다.
안녕하세요. 라인플러스에서 B612 Android 개발을 담당하고 있는 조현태라고 합니다. B612는 소설 '어린왕자'의 별에서 이름을 따온 앱으로, 셀피 앱 최초로 선 필터를 적용하였으며 3~6초 분할 동영상 촬영도 가능합니다. 이 글에서는 B612앱을 개발하면서 MediaCodec을 활용하여 비디오를 콜라주 형태로 만들고 최종 결과물인 MP4 파일을 생성하기까지의 과정에 대해서 이야기해보고자 합니다. 동영상 크기의 결정 B612 앱에서는 동영상을 촬영할 수 있는데, 이러한 실시간 동영상 인코딩 작업은 많은 양의 데이터를 처리해야 하기 때문에 구현하는 데 어려움이 있습니다. 화면에 그려지는 데이터를 GPU 메모리로부터 시스템 메모리로 가져와 이를 다시 하드웨어 인코더에 전달하여 처리하거나, 또는 CPU에서 각 픽셀에 대해 개별적인 연산을 수행하여 동영상 데이터로 만들어야 하기 때문입니다. 많은 양의 데이터를 실시간으로 꾸준히 처리해야 하기 때문에 최대한 데이터의 크기가 작으면 작